package com.pucong.gitee.database.backup.business.unRelational.redis.service;

import com.pucong.gitee.database.backup.common.entity.redis.KeyBean;
import com.pucong.gitee.database.backup.common.entity.redis.ZTreeBean;
import com.pucong.gitee.database.backup.common.entity.redis.dto.RedisValUpdateDto;
import com.pucong.gitee.database.backup.common.selfenum.RedisDataType;

import java.util.List;

public interface DataSinglesService {

    List<ZTreeBean> treeInit(String id);

    ZTreeBean likeInit(String id, int index, String pattern);

    List<ZTreeBean> treeData(String id, int index, String pattern);

    KeyBean keysData(String id, int index, String keys, String order);

    Boolean renameKey(String id, int index, String oldKey, String newKey);

    Boolean recoverDb(String id, int index, String fileId);

    Boolean backupDb(String id, int index, String pattern);

    Boolean removeKey(String id, int index);

    Boolean insertKey(String id, int index, RedisDataType type, String key, String val, long time, double score);

    Boolean updateVal(String id, RedisValUpdateDto dto);

    Boolean deleteVal(String id, int index, RedisDataType type, String key, String val);

    Boolean insertVal(String id, int index, RedisDataType type, String key, String val, double score);

    Boolean updateStr(String id, int index, String key, String val);

    Boolean retimeKey(String id, int index, String key, long time);

    Boolean deleteKey(String id, int index, String key);

    List<ZTreeBean> pageData(String id, int index, int page, String pattern);
}
